import { RouteLocationNormalized, NavigationGuardNext } from 'vue-router';
// import { createPinia } from 'pinia';
import { usePageStore } from '@/stores/page';
let pageStore: any = null

export function beforeEach(to: RouteLocationNormalized, from: RouteLocationNormalized, next: NavigationGuardNext) {
 // 使用pinia的useStore函数动态获取store实例
if (pageStore === null) {
  pageStore = usePageStore()
} 
  // 异步加载数据
  (async () => {
    try {
      console.log("子项目---before-each", to, from, next)

      await pageStore.fetchInitialData(to.name || '',  []);
      // await pageStore.fetchInitialData(to.path || '',  []);
       // 路由判断逻辑
      if (!to.name && to.path.indexOf('/gm-web') === -1) {
      // if (!to.name && to.path.indexOf('/rm') === -1) {
        next('/noRoute');
      } else {
        // 子应用跳回主应用的逻辑可能需要具体情境，这里先保持原样
        next();
      }
    } catch (error) {
      console.error('Error fetching initial data:', error);
       // 路由判断逻辑
      if (!to.name && to.path.indexOf('/gm-web') === -1) {
      // if (!to.name && to.path.indexOf('/rm') === -1) {
        next('/noRoute');
      } else {
        // 子应用跳回主应用的逻辑可能需要具体情境，这里先保持原样
        next();
      }
    }
  })();


}
export function afterEach (to:any, from:any) {
  if (to.meta.title) {
    document.title = to.meta.title
  }
}